
#定义一个函数接受两个参数
def myfunc(id,name):
	print('传入的id: {} , name: {}'.format(id,name))
myfunc(123,'qiaoansheng')
#输出：传入的id: 123 , name: qiaoansheng
myfunc(id=321,name='qas')
#输出：传入的id: 321 , name: qas
dic1 = {'id':123,'name':'qiaoas'}
myfunc(**dic1)
#输出：传入的id: 123 , name: qiaoas
list=[19,'ansheng']
myfunc(*list)
#输出：传入的id: 19 , name: ansheng
tuple1=(22,'天天')
myfunc(*tuple1)
#输出：传入的id: 22 , name: 天天


#定义一个函数
def myfunc1(*args):
	print('传入的参数为：',args);

#各种调用
#myfunc1(id=12,name='乔安生')  #抛异常
myfunc1(123)
#输出：传入的参数为： (123,)
list1 = [1,2,3,4,5,6]
myfunc1(*list1)
#输出：传入的参数为： (1, 2, 3, 4, 5, 6)
tuple1 = (1,2,3,4,5,7)
myfunc1(tuple1)
#输出：传入的参数为： ((1, 2, 3, 4, 5, 7),)
myfunc1(*tuple1);
#输出：传入的参数为： (1, 2, 3, 4, 5, 7)



#
def myfunc2(id,name,**kwargs):
	print('传入的参数Id：{} ，name：{}，kwargs：{}'.format(id,name,kwargs))

#
myfunc2(1,'qiaoansheng',**{})
#输出;传入的参数Id：1 ，name：qiaoansheng，kwargs：{}
#
'''
myfunc2(1,'qiaoansheng',**{'id':123,'name':'qiao'})
这种写法不行，因为出现了多个 id 和 name
TypeError: myfunc2() got multiple values for argument 'id'
运行时出错：提示信息为，出现了多个 id 
'''
myfunc2(**{'id':123,'name':'qiao'})
#输出：传入的参数Id：123 ，name：qiao，kwargs：{}
myfunc2(**{'id':123,'name':'qiao','age':99})
#输出：传入的参数Id：123 ，name：qiao，kwargs：{'age': 99}


def myfunc3(*args,**kwargs):
	print('传入的参数 args：{}，kwargs：{}'.format(args,kwargs))

#
myfunc3(*(),**{});
#输出：传入的参数 args：()，kwargs：{}
list1 = []
dict1 = {}
myfunc3(*list1,**dict1);
#输出：传入的参数 args：()，kwargs：{}
myfunc3(list1,dict1);
#输出：传入的参数 args：([], {})，kwargs：{}




